home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / edwin15c.arc / EDWIN.DOC < prev    next >
Text File  |  1990-03-22  |  50KB  |  1,159 lines

  1. 1. Introduction
  2. ================================================================
  3.  
  4. EDWIN is a programmer's editor based on the Borland Editor
  5. Toolbox. It offers multiple editing windows and buffers, block
  6. moves between windows, undeletion, online help, Pascal structure
  7. editing, macro record and playback, DOS invocation from the
  8. editor, and file size limited only by available RAM.
  9.  
  10. For IBM PC and true compatibles. Keystrokes are WordStar
  11. compatible by default, but are fully configurable. Works with
  12. monochrome or color cards. Requires 256K.
  13.  
  14. A. New Features
  15. ---------------
  16.  
  17. Relative to version 1.3, this version of EDWIN has the following
  18. new features:
  19.  
  20.   Whenever you are prompted for a file name, you can enter the
  21.   name of a drive, directory, or wildcarded file specification.
  22.   EDWIN will pop up a window showing the matching files, and you
  23.   can select one via the Up and Down arrows and the <Enter> key.
  24.  
  25.   In adding the popup directory picker, we irrevocably exceeded
  26.   Turbo's 64K code segment. As a result, EDWIN now has a single
  27.   overlay file, EDWIN.000. This file must be kept in the same
  28.   drive and directory as the other EDWIN support files. The
  29.   specific location can be specified using the installation
  30.   program EDWINST.
  31.  
  32.   Scrolling performance has been improved on CGA adapters. The
  33.   screen is not updated continuously, but just once for each
  34.   required change.
  35.  
  36.   6 windows are enabled. A zoom mode allows the current window
  37.   to grow to fill the full screen, hiding any other files until
  38.   zoom is toggled again.
  39.  
  40.   The window status line has been redesigned. New information
  41.   includes the bytes used up to the cursor location, and a
  42.   "save flag" indicating when the file has been changed, as well
  43.   as a zoom indicator.
  44.  
  45.   The text cursor now can be installed in either of two modes. A
  46.   non-blinking solid cursor of any color can be chosen.
  47.   Alternatively, the blinking hardware cursor changes size to
  48.   indicate whether the editor is in insert mode (fat cursor) or
  49.   overwrite mode (thin cursor). The BIOS is kept fully informed
  50.   of all cursor positions and modes in order to work better with
  51.   memory resident writer's assistants.
  52.  
  53.   A default macro file, EDWIN.MAC, is automatically loaded into
  54.   memory when the editor is started. The EDWIN.MAC we supply
  55.   includes macros for indenting and unindenting text and
  56.   inserting standard Pascal constructs (procedure, function,
  57.   program, register set) into a program. A full blown macro
  58.   editor is incorporated into the installation program EDWINST.
  59.   This macro editor can be used at any time to generate new
  60.   macro files. The macro record mode within EDWIN is still
  61.   supported.
  62.  
  63.   The keyboard remains fully reconfigurable. The installation
  64.   program now automatically generates a help file matching the
  65.   current keyboard installation. The installation program now
  66.   has an option for "fast install." This sequentially prompts
  67.   for each entry, and is the desirable method if you are
  68.   reconfiguring many keys from the WordStar version.
  69.  
  70.   To save code space and add generality, the help facility now
  71.   treats the help file just like any other file or window.
  72.   Pressing the help command sequence opens a new window, reads
  73.   the help file from the installed directory, and lets you do
  74.   any EDWIN commands within that file. Note that you can modify
  75.   the file if you see fit. To exit help, press the Quit file
  76.   command (by default, ^K^Q).
  77.  
  78.   The EDWIN search algorithm now allows searching for the end of
  79.   line, which is found with the key combination ^M^J
  80.   (carriage return/line feed). This makes design of certain
  81.   macros feasible, including the autoindent marked block macro
  82.   which is supplied.
  83.  
  84.   A "Delete no recourse" command was added. This deletes the
  85.   current line without putting it on the undo stack. It is bound
  86.   to the Ctrl-Del key combination by default, so watch out!
  87.  
  88.   If you have previously reconfigured KEY files or macro files from
  89.   earlier versions of EDWIN, these will need to be rebuilt. The
  90.   addition of new commands, and a change in the format of macro
  91.   files, make this necessary.
  92.  
  93.   Other smaller improvements will become apparent when you use
  94.   the editor.
  95.  
  96.   A number of small bugs, and a couple of not so small ones have
  97.   been fixed. These include:
  98.  
  99.     Wasteful memory allocation when many newlines are inserted
  100.     at the end of a line.
  101.  
  102.     Occasional crashes or a weird flashing of the current line
  103.     after a marked or global replace.
  104.  
  105.     Odd placement of the cursor on the top command line, or
  106.     mangled text messages there.
  107.  
  108.     Paragraph reformat wrong for the last paragraph of a file.
  109.  
  110.     Invalid parsing of filenames using the ..\ or .\ prefixes.
  111.  
  112.     Block markers set incorrectly after blockreading a file
  113.     into a file.
  114.  
  115.     ^QL (Restore line) not setting the "modified" flag.
  116.  
  117.     Multiple windows onto a single file causing a crash when
  118.     significant deletion was done in one window.
  119.  
  120.  
  121. B. Support
  122. ----------
  123.  
  124.     This program was written by Kim Kokkonen of TurboPower
  125.     Software and is supported on a hobby basis. We will
  126.     appreciate your suggestions and comments, but cannot promise
  127.     support.
  128.  
  129.     This program has been released to the public domain for
  130.     personal, non-commercial use only. You may use it yourself,
  131.     give it to your friends or co-workers, or distribute it for
  132.     a cost-based fee as part of a user's group or bulletin board
  133.     service. If you wish to distribute this program as part of a
  134.     commercial package, please contact us for a license
  135.     agreement.
  136.  
  137.     If you ask for support or updates of this program, please
  138.     expect to make enough of a donation to cover our costs. We
  139.     will ask $10 to send you the latest version of the program.
  140.  
  141.     Our business number is 408-438-8608, and is answered
  142.     Monday-Friday 9AM to 5PM Pacific time. We can also be
  143.     reached via CompuServe [72457,2131].
  144.  
  145.     Our real business is the development of tools for Turbo
  146.     Pascal programmers. Our products include:
  147.  
  148.       TurboPower Utilities - 9 programs: Pascal Structure
  149.       Analyzer, Pretty Printer, Execution Profiler, Execution
  150.       Timer, File Compare, Regular Expression Find and Replace,
  151.       Super Directory, File Finder, Command Repeater.
  152.  
  153.       Turbo EXTENDER - offers 640K code model (with overlay
  154.       support as well) for Turbo. Also large data arrays, up to
  155.       30 megabytes. Plus a disk cache toolbox, a program to
  156.       analyze overlayed Turbo programs, a Pascal source code
  157.       encryptor, and more.
  158.  
  159.       T-DebugPLUS - a source level debugger for Turbo Pascal.
  160.       For sub-64K programs, the debugger integrates into the
  161.       Turbo development environment and provides the ability to
  162.       breakpoint on source statements or procedures, as well as
  163.       the ability to examine and change variables using normal
  164.       Pascal syntax. For Turbo EXTENDER programs, or for those
  165.       requiring the services of a machine level debugger, the
  166.       debugger creates a DOS-standard symbol file for the
  167.       program, allowing use of other symbolic debuggers such as
  168.       Symdeb, Atron and Periscope.
  169.  
  170. C. Acknowledgments
  171. ------------------
  172.  
  173.     Many thanks to the following people for their aid in the
  174.     development of EDWIN: Bela Lubkin (DOS EXEC function,
  175.     Command editor, DOS Critical error handler, mucho beta
  176.     testing), Randy Forgaard (fast text search), and Brian Foley
  177.     (fast CGA screen writer). And of course to Borland for the
  178.     Editor Toolbox in the first place.
  179.  
  180. D. Table of Contents
  181. --------------------
  182.  
  183. This document is organized as follows:
  184.  
  185.      1. Introduction
  186.      2. Installation
  187.      3. EDWIN Overview
  188.      4. Cursor Movements
  189.      5. Quick Movements
  190.      6. Inserting and Deleting
  191.      7. Find and Replace
  192.      8. Files and DOS
  193.      9. Windows
  194.      10. Blocks and Markers
  195.      11. Macros
  196.      12. Toggles
  197.      13. Text Processing
  198.      14. Final Notes and Cautions
  199.  
  200.  
  201.  
  202. 2. Installation
  203. ================================================================
  204.  
  205. EDWIN is supplied with several files which are accessed when the
  206. editor is started up. The name and purpose of each file follows:
  207.  
  208.    EDWIN.COM - the main executable file            (** required)
  209.    EDWIN.000 - overlay file                        (** required)
  210.    EDWIN.KEY - the keyboard definition             (** required)
  211.    EDWIN.MSG - text messages used during editing   (** required)
  212.    EDWIN.HLP - online command summary                 (optional)
  213.    EDWIN.ERR - error messages                         (optional)
  214.    EDWIN.MAC - default macros                         (optional)
  215.  
  216. Those files labeled as "required" must be accessible to the
  217. editor when it is loaded. The "optional" files will be ignored
  218. if they are not found at load time.
  219.  
  220. The drive and directory where the support files are to be found
  221. is configurable via the installation program, the use of which
  222. we will now describe. All of the support files must be kept in a
  223. single directory.
  224.  
  225. EDWINST.COM is the EDWIN installation program. Before running
  226. it, you should be sure that all of the files listed above are in
  227. the same directory as is EDWINST.COM, and that the default drive
  228. and directory are set to that directory as well.
  229.  
  230. EDWINST is a menu driven program and should be straightforward
  231. to use. It offers several main categories of installation:
  232.  
  233.   Screen - includes "snow control", editor colors, and cursor
  234.            type.
  235.   Commands - includes ability to edit or fully reconfigure the
  236.            keystrokes used to activate all EDWIN commands. Also
  237.            generates the EDWIN.HLP file which will serve as an
  238.            online command summary.
  239.   Options - includes the pathname to the support files, default
  240.            settings when the editor is started, size of the
  241.            undelete stack, the terminator written at the end of
  242.            file, and the handling of tab characters on read-in
  243.            of files.
  244.   Macros - A general purpose macro editor that reads and writes
  245.            macro files in the format required by EDWIN. Use this
  246.            to maintain the default macro file, or any number of
  247.            other macro files.
  248.  
  249. There are a few interactions between these categories of which
  250. you should be aware.
  251.  
  252. You should choose the Screen installation area first. Your
  253. choices here may affect the speed of display of the rest of the
  254. installation.
  255.  
  256. If you plan to reconfigure the keyboard, you should visit the
  257. Command installation area next. The results of the
  258. reconfiguration will affect the keys you use to install macros.
  259. The keyboard installation will operate in either of two modes.
  260. If you plan to change many or most of the keys, choose the "fast
  261. full reconfiguration" mode. This one prompts sequentially for
  262. all commands, and will save keystrokes in doing the definition.
  263. After going through the sequential entry, you will have an
  264. opportunity to edit any of the entries in a full-screen random
  265. access mode. The random access mode is preferable if you are
  266. tweaking a few commands, or adding your favorite function keys,
  267. or whatever.
  268.  
  269. Each command supports a primary and secondary key sequence. You
  270. can choose any unique set of keystrokes for all commands. Each
  271. command is limited to 4 characters (note that extended ASCII
  272. characters count as 2 each). EDWINST will not accept normal
  273. alphabetic characters for commands. Note the requirements of
  274. uniqueness - if one command is activated by <CtrlQ>, another
  275. cannot be activated by <CtrlQ><CtrlS>. Otherwise EDWIN would not
  276. know when to stop looking for command keystrokes.
  277.  
  278. One of the commands reconfigurable during keyboard installation
  279. is the help key. If any keys are chosen for this command,
  280. EDWINST will write a fairly large help file (EDWIN.HLP) which is
  281. loaded into memory when EDWIN runs. The full help file uses
  282. about 15K of RAM space while EDWIN runs. If you don't want help,
  283. or if you need to regain the 15K of space, delete the keystroke
  284. definitions for the help command. In this case, EDWINST will
  285. write a minimal help file using less than 1K of RAM space.
  286.  
  287. EDWINST also writes the names of each of the default macros to
  288. the help file, if a help key is installed. If you change the
  289. macro definitions, you will need to return to the Command
  290. installation area to rewrite a help file with updated
  291. information.
  292.  
  293. The Options and Macros areas can be visited last. The Options
  294. area is most important because here you choose where the EDWIN
  295. support files will be kept. By default, the support files must
  296. be in the current drive and directory when EDWIN is started. If
  297. you use EDWIN frequently, we recommend that you keep it and its
  298. support files on a RAMdisk. This makes program loading almost
  299. instantaneous.
  300.  
  301. The Macro area can be used as a general purpose macro editor for
  302. EDWIN even after installation work is done. The macro editor
  303. first prompts for a macro file name, with a default of
  304. EDWIN.MAC. Enter a non-existent file name if you wish to create
  305. a new file of macros. You can also edit an existing file and
  306. write the results to a different file.
  307.  
  308. After loading the macro file, you can scroll through the 10
  309. available macros to choose which to edit. Choose one by pressing
  310. its number or selecting it and pressing <Enter>. You can leave
  311. the macro editor at this point by pressing <Esc>.
  312.  
  313. After choosing a macro, you will be prompted to enter or edit
  314. the name of the macro. The name is simply a mnemonic string
  315. which will appear in the online help and during later editing to
  316. remind you of the function of the macro. It is not connected to
  317. the keystrokes used to invoke the macro. The keystrokes used to
  318. invoke a particular macro are chosen in the Command installation
  319. area.
  320.  
  321. After you enter the macro name, you can edit its contents. The
  322. macro editor operates in two modes. The "command" mode reserves
  323. several keys to aid in the function of the editor. The following
  324. macro editing keys are supported:
  325.  
  326.   <Up>, <Down>, <Left> and <Right>
  327.     move the editor cursor around the macro.
  328.  
  329.   <Del>
  330.     deletes the keystroke pointed to by the cursor.
  331.  
  332.   <Backspace>
  333.     deletes the keystroke to the left of the cursor.
  334.  
  335.   <CtrlDel>
  336.     clears the current macro.
  337.  
  338.   <AltC>
  339.     copies another of the loaded macros into the current macro.
  340.  
  341.   <CtrlEnd>
  342.     terminates editing the current macro. You will be prompted
  343.     whether to save any changes produced by editing.
  344.  
  345.   <Ins>
  346.     toggles between insert and overwrite modes.
  347.  
  348.   All other keys are inserted literally into the macro.
  349.  
  350. The <Scroll_Lock> key toggles between this command mode and a
  351. "literal" mode. Once in literal mode, all keystrokes entered are
  352. inserted literally into the macro until the <Scroll_Lock> key is
  353. pressed again.
  354.  
  355. Note that if you have SuperKey or another memory-resident macro
  356. processor installed, pressing any key combinations defined as
  357. macros for that processor will insert that macro into the EDWIN
  358. macro. Neither EDWIN nor EDWINST take over the keyboard at such
  359. a low level as to inhibit other macro processors.
  360.  
  361. Each EDWIN macro is limited to 255 keystrokes. IBM extended
  362. ASCII keystrokes count as two each. The current macro length is
  363. reported in the editor status display.
  364.  
  365. After you traverse each applicable installation area, you should
  366. choose the EDWINST option to Write the installed version out to
  367. disk. Taking this step customizes the copy of EDWIN.COM to
  368. operate as you have selected. If for some reason, you don't want
  369. to save the changes, use the Quit option on the menu. Note that
  370. the EDWIN.KEY, EDWIN.HLP, and EDWIN.MAC files may have been
  371. previously rewritten by your choices in each installation
  372. subsection.
  373.  
  374.  
  375.  
  376.  
  377. 3. EDWIN Overview
  378. ================================================================
  379.  
  380. EDWIN started as a WordStar clone (more accurately, as a Turbo
  381. Pascal Editor clone), and the structure of the commands and the
  382. screen were designed accordingly. As new features have been
  383. added, the general flavor of this environment has been
  384. maintained.
  385.  
  386. EDWIN is strictly a text editor, flavored for programmers. The
  387. minimal word processing features in EDWIN were added to satisfy
  388. the needs of simple documentation like this text file or
  389. comments embedded in programs.
  390.  
  391. When EDWIN is started, you will see a simple main menu. It
  392. allows you to change default drive or directory, invoke a DOS
  393. shell, or edit a file. You will return to this menu whenever all
  394. files are closed and you have not chosen to return to DOS.
  395.  
  396. EDWIN can also be started by naming the files to edit on the DOS
  397. command line. Up to three files may be specified on the command
  398. line --
  399.  
  400.   EDWIN [file1] [file2] [file3]
  401.  
  402. Each file name may include optional drive and pathname.
  403.  
  404. One major benefit of EDWIN over its predecessors is the ability
  405. to open windows on multiple files. This version of EDWIN can
  406. open up to 6 windows at once. Windows can be added, sized and
  407. closed at any time during an edit session. If two windows refer
  408. to the same file, changes made in one of the windows will
  409. automatically appear in the other. A "window zoom" command
  410. causes the current window to fill the entire screen, while
  411. leaving any other open windows hidden in the background.
  412.  
  413. The EDWIN editing screen is formatted as follows. The top line
  414. of the screen is always reserved for command prompts, editor
  415. status information and error messages. You will also note that a
  416. '+' sign appears at the left edge of this command line whenever
  417. a multi-key command has been partially entered.
  418.  
  419. EDWIN reserves one line at the top of each window for status
  420. information about that window. This line holds the following:
  421.  
  422.   current filename.
  423.   current line number.
  424.   current column number.
  425.   number of characters from the cursor to the beginning of the
  426.     file.
  427.   if word wrap mode is selected, the right margin value is
  428.     displayed.
  429.   flag for insert or overwrite mode.
  430.   flag for autoindent mode.
  431.   flag for macro-recording active.
  432.   flag indicating file must be saved.
  433.  
  434. If the current filename is longer than will fit in the area
  435. reserved for it, the leading portion of the name will be
  436. truncated.
  437.  
  438. The number of characters from the cursor to beginning of file is
  439. the file size which would be created if that portion of the file
  440. were saved. It includes two bytes per line for a <carriage
  441. return><line feed> sequence. It does not include any of the
  442. memory overhead of the EDWIN internal text representation.
  443.  
  444. The "save" flag indicates that the file has been changed since
  445. it was last stored to disk. A save is never required until you
  446. exit the editor, but intermediate saves will protect your work
  447. from hardware or software crashes.
  448.  
  449. The remainder of the editing screen is reserved for text.
  450.  
  451. The total file size which EDWIN can edit at any one time is
  452. limited by available system RAM. The following overhead factors
  453. may be of use in computing how much can be edited: For every
  454. text line read in, EDWIN uses 24 bytes of memory. The length of
  455. any text line can grow to 7 characters before this usage is
  456. increased. For longer lines, EDWIN allocates memory space in 8
  457. byte chunks. As a rough example, if EDWIN is run on a system
  458. with 256K free memory (before running EDWIN), you will have
  459. about 165K free memory after entering EDWIN. This free memory
  460. will allow files of between 80K and 160K bytes to be edited,
  461. depending on the average line length of the file.
  462.  
  463. The maximum line length of files in EDWIN is 999 characters.
  464. Lines exceeding this length will be broken when the file is read
  465. into the editor. The maximum number of lines in any file is
  466. 32767. Memory requirements will see to it that you never reach
  467. this limit.
  468.  
  469. By default, EDWIN is configured for online help. Pressing
  470. function key <F1> opens a window onto a summary of commands and
  471. macros. The help window is just like any other EDWIN window. You
  472. can scroll around in it, search for keywords, even change it if
  473. you wish. Use the quit file (^K^Q) command to close the help
  474. window.
  475.  
  476. If you know WordStar commands, you will be able to start using
  477. EDWIN immediately. Dive in, use the help window and go for it!
  478.  
  479. The following sections describe each editing command in more
  480. detail. Each command will be followed by its default keystroke
  481. combinations.
  482.  
  483.  
  484.  
  485.  
  486. 4. Cursor Movements        Primary Keys       Secondary Keys
  487. ================================================================
  488.  
  489. Abort command              <CtrlU>
  490. Character left             <Larrow>           <CtrlS>
  491. Character right            <Rarrow>           <CtrlD>
  492. Word left                  <CtrlLarr>         <CtrlA>
  493. Word right                 <CtrlRarr>         <CtrlF>
  494. Line up                    <Uarrow>           <CtrlE>
  495. Line down                  <Darrow>           <CtrlX>
  496. Scroll up                  <CtrlUarr>         <CtrlW>
  497. Scroll down                <CtrlDarr>         <CtrlZ>
  498. Page down                  <PgDn>             <CtrlC>
  499. Page up                    <PgUp>             <CtrlR>
  500.  
  501. The Abort command has nothing to do with cursor movements, but
  502. we felt it should be covered first. Pressing the Abort command
  503. sequence at any time in the editor will cause the current
  504. operation to be stopped. This will be especially useful during
  505. find/replace operations, command prompts, file reads or writes,
  506. or other lengthy editor operations that you wish to halt
  507. prematurely.
  508.  
  509. The character left command moves the cursor left one character
  510. at a time until it reaches column 1, then it stops.
  511.  
  512. The character right command moves the cursor right, even beyond
  513. the end of the text. It does not stop until it reaches the
  514. maximum line length at 999 characters.
  515.  
  516. Horizontal scrolling of the screen occurs whenever the cursor
  517. passes the left or right borders of the screen.
  518.  
  519. Word left and right move one word with each command. Words are
  520. delimited by spaces, common punctuation, and the beginning and
  521. end of lines. A few non-intuitive word delimiters are used for
  522. compatibility with the Turbo editor.
  523.  
  524. Line scrolling works in the expected manner. The <CtrlUarr> and
  525. <CtrlDarr> keystrokes for scrolling are activated only when
  526. SuperKey is installed.
  527.  
  528. Page up and Page down scroll by one line less than the full
  529. screen. For windows covering less than the full screen,
  530. scrolling is based on the window size, not the full screen size.
  531.  
  532.  
  533.  
  534.  
  535. 5. Quick Movements         Primary Keys       Secondary Keys
  536. ================================================================
  537.  
  538. Top of file                <CtrlPgUp>         <CtrlQ><CtrlR>
  539. Bottom of file             <CtrlPgDn>         <CtrlQ><CtrlC>
  540. Cursor to left side        <Home>             <CtrlQ><CtrlS>
  541. Cursor to right side       <End>              <CtrlQ><CtrlD>
  542. Top of screen              <CtrlHome>         <CtrlQ><CtrlE>
  543. Bottom of screen           <CtrlEnd>          <CtrlQ><CtrlX>
  544. Up to equal indent         <CtrlJ><CtrlB>
  545. Down to equal indent       <CtrlJ><CtrlE>
  546. Go to line                 <CtrlQ><CtrlN>
  547. Go to column               <CtrlO><CtrlC>
  548. Go to window               <CtrlO><CtrlQ>
  549. Previous cursor position   <CtrlQ><CtrlP>
  550.  
  551. Whenever possible, the quick movements will avoid scrolling the
  552. screen, and will simply reposition the cursor.
  553.  
  554. The first six of these commands should be obvious.
  555.  
  556. Up to equal indent and Down to equal indent are particularly
  557. useful for structured programming. When these commands are
  558. invoked, the leading indent of the current line is measured. The
  559. cursor is then moved up or down until it reaches another line
  560. having the same indent as the starting line, or it reaches the
  561. beginning or end of the file. This is useful for finding matched
  562. BEGINs and ENDs.
  563.  
  564. The Go to Commands allow direct movement to another point in a
  565. file. EDWIN will prompt for a value after you enter the command
  566. sequence. It accepts either absolute or relative numbers. For
  567. example, Go to Line 100 moves directly to line number 100. Go
  568. to Line +20 moves 20 lines toward the end of the file. Go to
  569. Line -40 moves 40 lines toward the beginning of the file.
  570.  
  571. Regarding the Go to window command: Windows are numbered
  572. starting with 1 for the first (topmost) window on the screen.
  573.  
  574. Previous cursor position will recall wherever the cursor was
  575. prior to the last command. Using this command twice in
  576. succession will return the cursor to its starting position.
  577.  
  578.  
  579.  
  580. 6. Inserting and Deleting  Primary Keys       Secondary Keys
  581. ================================================================
  582.  
  583. Undo last deletion         <Esc>              <CtrlQ><CtrlU>
  584. Restore line               <CtrlQ><CtrlL>
  585. Smart tab                  <CtrlI>
  586. Insert control char        <CtrlP>
  587. New line                   <Enter>            <CtrlM>
  588. Insert line                <CtrlN>
  589. Delete current character   <Del>              <CtrlG>
  590. Delete left character      <CtrlH>            <CtrlBkSp>
  591. Delete right word          <CtrlT>
  592. Delete line right          <CtrlQ><CtrlY>
  593. Delete line                <CtrlY>
  594. Delete line (no undo)      <CtrlDel>
  595.  
  596. EDWIN accepts all ASCII text not otherwise defined as a command.
  597. As a result, you can enter high-bit extended characters for
  598. drawing boxes, or using foreign language characters. These
  599. characters are entered by using the Alt numeric keypad sequences
  600. as normal in DOS (note that if SuperKey is installed, you must
  601. press left shift and Alt simultaneously).
  602.  
  603. To insert keystrokes into your text which are otherwise reserved
  604. for commands, use the "Insert control char" command. Any
  605. keystroke following this command will be inserted literally into
  606. the text.
  607.  
  608. EDWIN provides two undo mechanisms. "Undo last deletion" will
  609. recall the most recent line deleted and insert it into the text
  610. at the current cursor position. Note that this undo operation
  611. applies only to full line deletions. It also applies to the text
  612. involved in block deletes.
  613.  
  614. The undo stack is limited in size. By default, the last 20 lines
  615. of deleted text are saved on the undo stack. This limit can be
  616. adjusted via the installation program. The fundamental size of
  617. the undo stack is limited only be available memory.
  618.  
  619. The second undo operation is "Restore Line." This command
  620. restores the current line of text to what it was when the cursor
  621. first reached the line.
  622.  
  623. EDWIN does not support fixed tabs. Tab characters remaining in
  624. the text will appear as small circles ( ). By default, tab
  625. characters in the text are converted to spaces on standard 8
  626. column boundaries when a file is read into EDWIN. Tabs can be
  627. passed through without change by changing an installation
  628. option.
  629.  
  630. When the tab command is executed within the editor, EDWIN
  631. performs a "Smart Tab" like that of the Turbo editor. It will
  632. match the corresponding indent of the immediately preceding line
  633. if any exists. Otherwise, it will match the indent of any line
  634. following.
  635.  
  636. The insert line command breaks the current line and leaves the
  637. cursor position unchanged.
  638.  
  639. The delete operations are straightforward. Note the "Delete no
  640. recourse" command, which does not store the deleted text on the
  641. undo stack.
  642.  
  643.  
  644.  
  645.  
  646. 7. Find and Replace        Primary Keys       Secondary Keys
  647. ================================================================
  648.  
  649. Find pattern               <CtrlQ><CtrlF>
  650. Find and replace           <CtrlQ><CtrlA>
  651. Search and apply macro     <CtrlQ><CtrlM>
  652. Find next                  <CtrlL>
  653.  
  654. All of these commands share a common text searcher. When you run
  655. any of the first three search commands, you will be prompted to
  656. enter the search pattern. EDWIN does not support wildcard
  657. searches, but you can enter any ASCII or extended ASCII text as
  658. the search pattern. For the purposes of searching each line is
  659. taken to end with the characters <CtrlM><CtrlJ>. A search
  660. pattern consisting of just these two characters will find the
  661. end of every line. The search algorithm looks at only one line
  662. at a time; thus a search like "<CtrlM><CtrlJ>Anything" will
  663. never produce a match.
  664.  
  665. While you are responding to the prompt for a pattern, you have a
  666. simple line editor to use. The line editor accepts the following
  667. commands:
  668.  
  669.    <End> or <CtrlR> -
  670.      recall the previous entry.
  671.    <Left> or <CtrlS> -
  672.      move the cursor one position left.
  673.    <Right> or <CtrlD> -
  674.      move the cursor one position right.
  675.    <Home> or <CtrlX> -
  676.      erase the current response.
  677.    <CtrlLeft> or <CtrlA> -
  678.      move the cursor one word left.
  679.    <CtrlRight> or <CtrlF> -
  680.      move the cursor one word right.
  681.    <Del> or <CtrlG> -
  682.      delete the current character.
  683.    <BackSpace> or <CtrlH> -
  684.      delete the next character left.
  685.    <Ins> or <CtrlV> -
  686.      toggle insert/overwrite mode.
  687.    <CtrlP> -
  688.      following character entered will be taken literally.
  689.    <Enter> or <CtrlM> -
  690.      accept the entry.
  691.  
  692. Like the Turbo editor, the "cursor movements" of the line editor
  693. cause text to the right of the cursor to disappear.
  694.  
  695. If your EDWIN installation uses the blinking hardware cursor,
  696. the cursor size will change to indicate insert or overwrite
  697. modes. A slightly fatter cursor indicates insert mode, while the
  698. normal skinny cursor indicates the overwrite mode.
  699.  
  700. When entering the "end of line" search string, you must precede
  701. the <CtrlM> character by <CtrlP> in order to avoid premature
  702. termination of the entry.
  703.  
  704. Note that all command prompts in EDWIN use the same command
  705. editor, and accept the same syntax.
  706.  
  707. The various find and replace commands in EDWIN accept modifiers
  708. to the searching behavior, as follows:
  709.  
  710.   U - search in uppercase (matching is not case sensitive).
  711.   B - search backward (toward the top of file).
  712.   W - match whole words only.
  713.   G - search throughout entire file (globally).
  714.   M - search in marked block only.
  715.   N - no prompts before replacement.
  716.  
  717. Note that the standard WordStar option of replace for "n" times
  718. is not incorporated here. In its place is the marked block
  719. option, which is easier to use and more reliable.
  720.  
  721. EDWIN supports three basic search modes. The first simply
  722. searches and places the cursor on the start of whatever was
  723. found. The second searches for the match string and then
  724. replaces that string with another one of your choice. The final
  725. one is new to EDWIN. It searches for the match string and then
  726. applies a previously defined macro key sequence at the current
  727. cursor position.
  728.  
  729. The Find Next command repeats the last search operation,
  730. performing a replace or a macro invocation if that was the most
  731. recent command type.
  732.  
  733. When a find and replace operation is run with the G option,
  734. EDWIN will stop after each find and prompt for a response. The
  735. following actions are acceptable:
  736.  
  737.    Y - perform the replace for this instance.
  738.    N - do not perform the replace here, but continue searching.
  739.    A - perform this replace and all other that match without
  740.        further prompting.
  741.    Q - do not perform this replace, and quit searching.
  742.  
  743. You can break out of a find/replace operation at any time by
  744. pressing the abort command key, by default <CtrlU>.
  745.  
  746.  
  747.  
  748.  
  749.  
  750. 8. Files and DOS           Primary Keys       Secondary Keys
  751. ================================================================
  752.  
  753. Save and exit to DOS       <CtrlK><CtrlX>
  754. Save and exit to menu      <CtrlK><CtrlD>
  755. Save and continue edit     <CtrlK><CtrlS>
  756. Abandon file               <CtrlK><CtrlQ>
  757. Read file into window      <CtrlK><CtrlR>
  758. Write block to file        <CtrlK><CtrlW>
  759. Append block to file       <CtrlK><CtrlA>
  760. Invoke DOS shell           <CtrlO><CtrlI>
  761.  
  762. EDWIN editing operations occur completely in the memory of your
  763. computer. Until a file is saved to disk, there is no permanent
  764. record of your edits.
  765.  
  766. Whenever EDWIN prompts you for a file name, you can ask it for a
  767. directory of available files. To look at all files in the
  768. current directory, simply press <Enter>. Alternatively, you can
  769. enter any combination of drive, pathname and DOS wildcards.
  770. After you do this, EDWIN will pop up a window showing all the
  771. matching files. You can use the Cursor up and down arrows to
  772. scroll through this list. When you find a file you want, press
  773. <Enter>. If none of the files is what you want, press <Esc>.
  774.  
  775. There are three flavors of save command in EDWIN. You can save
  776. and leave the editor, returning to DOS. You can save and return
  777. to the EDWIN main menu. Or you can save and stay at the same
  778. place in the file. Note that the final variant operates more
  779. conveniently than the WordStar editor - your cursor is kept in
  780. place following the save operation. EDWIN creates a backup file
  781. (with extension .BAK) for every save that you perform.
  782.  
  783. EDWIN offers the option of abandoning any edits you have done. A
  784. "SAVE" indicator will appear in the window status line to
  785. indicate that you have unsaved edits. If you attempt to abandon
  786. a file with unsaved edits, EDWIN will prompt for confirmation.
  787.  
  788. You can merge another file into the current one via the "Read
  789. File into Window" command. The new file is read in at the
  790. current cursor position. After this command finishes, EDWIN
  791. leaves the block markers surrounding the newly read file.
  792.  
  793. Similarly, you can write a portion of the current file to
  794. another file with the write block commands. The append block
  795. command adds to an existing file, while the write block command
  796. will always start the file from scratch. If you ask to write
  797. block to an existing file, EDWIN will require confirmation
  798. before it overwrites it. During append block operation, EDWIN
  799. uses logic to avoid embedded <CtrlZ> characters in the resulting
  800. file. Note that you can use the write block command to print a
  801. file from within the editor - simply mark a block (the entire
  802. file if you desire) and write it to a file named PRN, LPT1, or
  803. LPT2.
  804.  
  805. Finally, EDWIN allows you to invoke a DOS shell from within the
  806. editor. After executing this command, you will find yourself at
  807. the standard DOS prompt. Note that for this command to be
  808. successful, two factors are required: first, a copy of
  809. COMMAND.COM must be available in the drive and directory
  810. specified by the COMSPEC parameter in your DOS environment;
  811. second, sufficient free memory must be available.
  812.  
  813. If you edit large files, or if you switch among a number of
  814. files, it is possible that not enough memory will be available
  815. for the DOS shell and EDWIN will inform you of this. Your only
  816. recourse is to save all open files and exit to the main EDWIN
  817. menu. You can invoke DOS from the main menu, or reopen your
  818. files and still most likely be able to run DOS.
  819.  
  820. From the DOS prompt, you can run any command or program you
  821. normally would, with a few exceptions. First, you should never
  822. install a memory resident program from within a shell. Doing so
  823. will most likely cause a system crash. Second, if you change
  824. directories in the shell, you normally should return to the
  825. directory in which the shell was invoked. Otherwise, when you
  826. return to the editor, further saves of open files will probably
  827. be written to the wrong directory. An exception to this rule
  828. occurs when you have opened files using their complete pathnames
  829. rather than using DOS shorthand to refer to the current
  830. directory.
  831.  
  832.  
  833.  
  834. 9. Windows                 Primary Keys       Secondary Keys
  835. ================================================================
  836.  
  837. Add window                 <CtrlO><CtrlA>
  838. Grow current window        <CtrlO><CtrlG>
  839. Shrink current window      <CtrlO><CtrlS>
  840. Switch windows             <CtrlO><CtrlO>
  841. Zoom current window        <CtrlO><CtrlZ>
  842. Show help window           <F1>               <CtrlJ><CtrlH>
  843.  
  844. EDWIN's window operations will significantly improve your
  845. productivity if you have not previously been using a windowing
  846. editor. The ability to refer to and copy text from multiple
  847. files makes programming much easier. This version of EDWIN
  848. allows up to 6 windows on screen at any one time. All block
  849. operations operate across windows as well as within a single
  850. window.
  851.  
  852. EDWIN windows divide the screen into horizontal strips. Each
  853. window can control a variable number of rows, from a minimum of
  854. two text lines to a maximum of 23. Each window starts with a
  855. status row as described in the overview section.
  856.  
  857. Windows can be created, sized and deleted dynamically. Commands
  858. to create and size windows are described in this section. To
  859. remove windows, use the file save/abandon commands described in
  860. the previous section.
  861.  
  862. When a window is added, the current window is split in half to
  863. make space for the new window. The current window must be at
  864. least 7 lines tall for this operation to be successful. When the
  865. window is split, EDWIN will prompt for a new file name. See
  866. section 7 for a description of the commands available during
  867. entry of the file name. See section 8 for a description of the
  868. popup directory window available at file prompts.
  869.  
  870. Note that the file name can contain a complete DOS drive and
  871. path name. If you specify a file name that matches that of an
  872. existing window, the new window will be "linked" to the existing
  873. one. In this way, you can have two or more views onto a single
  874. file. Edits made in one window will simultaneously appear in the
  875. other.
  876.  
  877. The Grow and Shrink window commands make the current window one
  878. line taller or shorter for each invocation of the command.
  879.  
  880. The Switch windows command moves the cursor to the next window
  881. down the screen. Note that EDWIN stores the current cursor
  882. position for each window even if the cursor is not currently in
  883. that window.
  884.  
  885. The Zoom window command is provided for the case when you have a
  886. number of windows on screen, but wish to focus on a single
  887. window for some time. Using the Zoom command causes the current
  888. window to fill the entire screen. Any other windows are hidden,
  889. but their text remains in memory. While the Zoom state is
  890. active, an indicator will be made visible on the window status
  891. line. To go back to the original multi-window screen, simply
  892. execute the Zoom command again. Alternatively, saving or
  893. abandoning the file in the Zoom window will restore the other
  894. windows to the screen. Note that you cannot open additional
  895. windows when the Zoom command has filled the screen with a
  896. single window.
  897.  
  898. EDWIN uses its standard windows to provide an online help
  899. facility. Press the help request key and EDWIN will create a new
  900. window onto the command summary file created by the installation
  901. program. You can then use any EDWIN command to browse, search,
  902. or even change the help information. Use the Abandon File or
  903. Switch Windows commands to leave the help window.
  904.  
  905.  
  906.  
  907. 10. Blocks and Markers     Primary Keys       Secondary Keys
  908. ================================================================
  909.  
  910. Begin block                <CtrlK><CtrlB>     <F7>
  911. End block                  <CtrlK><CtrlK>     <F8>
  912. Top of block               <CtrlQ><CtrlB>
  913. Bottom of block            <CtrlQ><CtrlK>
  914. Copy block                 <CtrlK><CtrlC>
  915. Move block                 <CtrlK><CtrlV>
  916. Delete block               <CtrlK><CtrlY>
  917. Toggle block display       <CtrlK><CtrlH>
  918. Mark current word          <CtrlK><CtrlT>
  919. Set marker 0               <CtrlK>0           <CtrlK><Ctrl0>
  920. ...
  921. Set marker 9               <CtrlK>9           <CtrlK><Ctrl9>
  922. Jump marker 0              <CtrlQ>0           <CtrlQ><Ctrl0>
  923. ...
  924. Jump marker 9              <CtrlQ>9           <CtrlQ><Ctrl9>
  925. Toggle marker display      <CtrlK><CtrlM>
  926.  
  927.  
  928. EDWIN block commands operate just like those in WordStar and the
  929. Turbo editor. A block can be marked at any column and line
  930. position using the Begin block and End block commands. Once a
  931. block is completely defined, the marked text will be displayed
  932. with the special color or attribute that you have chosen at
  933. installation.
  934.  
  935. In EDWIN, marked blocks can also be of use in Find/Replace/Macro
  936. operations, as well as some text processing commands.
  937.  
  938. The Top of block and Bottom of block commands position the
  939. cursor to the beginning or end of a marked block.
  940.  
  941. Copy and Move block commands will operate across windows. Delete
  942. block will delete a marked block, even if the block is not in
  943. the currently active window.
  944.  
  945. Toggle block display removes the special display attribute of a
  946. marked block. It does not remove the block markers themselves.
  947. Pressing the Toggle command again will redisplay the block. Most
  948. block commands will not operate when the marked block is not
  949. displayed. Only the Top of block and Bottom of block commands
  950. are active in this case.
  951.  
  952. Mark current word is a shorthand command for marking a single
  953. word of text.
  954.  
  955. EDWIN also supports visible text markers. It supports up to 10
  956. markers, which will generally be installed with sequential
  957. keystrokes as shown in the defaults above. When you set a text
  958. marker, a numbered block will appear to overwrite the character
  959. at the current cursor position. This block temporarily obscures
  960. your view of that character, but does not affect the actual text
  961. which will be stored with the file. Use the Toggle marker
  962. display command to make all markers temporarily disappear.
  963.  
  964. The Jump marker commands will immediately jump to a previously
  965. marked position in any window. If no such marker has been set,
  966. EDWIN will display an error message.
  967.  
  968. You can clear a marker by jumping to it and then setting it
  969. again.
  970.  
  971.  
  972.  
  973. 11. Macros                 Primary Keys       Secondary Keys
  974. ================================================================
  975.  
  976. Read macros from disk      <CtrlJ><CtrlR>
  977. Write macros to disk       <CtrlJ><CtrlW>
  978. Toggle macro record        <CtrlJ><CtrlT>
  979. Insert Macro 1             <Alt1>
  980. ...
  981. Insert Macro 9             <Alt9>
  982. Insert scrap macro         <CtrlJ><CtrlI>
  983. Insert scrap macro 1 time  <CtrlJ>1           <CtrlJ><Ctrl1>
  984. ...
  985. Insert scrap macro 9 times <CtrlJ>9           <CtrlJ><Ctrl9>
  986.  
  987. EDWIN supports a small but useful keyboard macro facility which
  988. can augment the use of full-blown macro processors like
  989. SuperKey. EDWIN can store up to 10 macros each of up to 255
  990. characters. These macros can be stored and loaded from files, so
  991. an effectively unlimited number of macros is available. EDWIN's
  992. macros can store anything you type within the editor, including
  993. text, commands, and responses to command prompts.
  994.  
  995. You can develop EDWIN macros in two ways. First, within the
  996. editor you can turn on a "recording" mode. This simply keeps a
  997. record of all of your keystrokes until recording is turned off
  998. again. When recording is complete, EDWIN will prompt for a macro
  999. number in which the keystrokes will be stored.
  1000.  
  1001. Second, within the EDWIN installation program is a macro editor.
  1002. You can use this editor to tweak previously recorded macros or
  1003. to develop new macros from scratch. The macros developed in this
  1004. way are stored in files that can then be loaded into EDWIN for
  1005. use there.
  1006.  
  1007. When EDWIN is started, it automatically looks for and loads a
  1008. file of macros called EDWIN.MAC. We supply a default set of
  1009. these macros useful to Pascal programmers. Bring up the EDWIN
  1010. help facility to see what these macros will do.
  1011.  
  1012. Use the Read macros from disk command to load a different macro
  1013. file. After you have generated new macros within the editor, use
  1014. the Write macros command to store them to a file. If you exit
  1015. EDWIN without storing the macros, they will be lost.
  1016.  
  1017. EDWIN classifies macros into two categories. First type is the
  1018. "scrap" macro. Whenever you record a new macro within EDWIN, the
  1019. recorded keystrokes overwrite the scrap macro. When the
  1020. recording is complete, EDWIN prompts to store the macro into one
  1021. of the other nine macro locations or to leave the macro in the
  1022. scrap. The other nine locations will remain undisturbed until
  1023. you explicitly overwrite them by reading a macro file or storing
  1024. another scrap macro.
  1025.  
  1026. EDWIN supplies special operations with the scrap macro. If you
  1027. execute the Insert scrap macro command, EDWIN will prompt for a
  1028. number of times to insert the macro, limited only by EDWIN's
  1029. internal keyboard buffer size. Or you can use the Insert scrap
  1030. "n" times command to immediately play back the macro that number
  1031. of times.
  1032.  
  1033. The other nine macros can be inserted one time per command using
  1034. the appropriate Insert macro "m" command.
  1035.  
  1036. Note that macros can invoke other macros. The only restriction
  1037. is that the scrap macro not be invoked while macro recording is
  1038. in progress.
  1039.  
  1040. EDWIN also offers a powerful facility to "find and macro." After
  1041. a standard text search, EDWIN will apply the macro of your
  1042. choice. See section 7 for further information.
  1043.  
  1044.  
  1045.  
  1046.  
  1047. 12. Toggles                Primary Keys       Secondary Keys
  1048. ================================================================
  1049.  
  1050. Show version number        <CtrlJ><CtrlV>
  1051. Show available memory      <CtrlO><CtrlM>
  1052. Toggle insert mode         <CtrlV>            <Ins>
  1053. Toggle autoindent mode     <CtrlQ><CtrlI>
  1054.  
  1055. EDWIN will display its current version number when you press the
  1056. version number command sequence.
  1057.  
  1058. You can display the bytes of memory available for text
  1059. processing with the Show memory command. Note that not all of
  1060. these bytes may be available to the DOS shell command due to
  1061. fragmentation of the internal memory used by EDWIN.
  1062.  
  1063. Text entry in EDWIN operates in either of two modes. In insert
  1064. mode, new text pushes old text out of the way but does not
  1065. overwrite it. In overwrite mode, old text is superceded by the
  1066. new. When the EDWIN hardware cursor is active, Insert mode is
  1067. indicated by a somewhat fatter cursor. In overwrite mode, the
  1068. cursor is of minimum thickness. Each window can have an
  1069. independent mode for insert/overwrite, and the window status
  1070. line indicates the current state.
  1071.  
  1072. The EDWIN autoindent mode mimics that of the Turbo editor.
  1073. Whenever a new line is inserted by pressing <Enter> the cursor,
  1074. and any text to the right of the cursor, are indented to the
  1075. same level as that of the previous line. Autoindent mode is
  1076. signaled by the letters AI in the window status line.
  1077.  
  1078.  
  1079.  
  1080.  
  1081. 13. Text Processing        Primary Keys       Secondary Keys
  1082. ================================================================
  1083.  
  1084. Toggle case                <CtrlO><CtrlT>
  1085. Lower case                 <CtrlO><CtrlL>
  1086. Upper case                 <CtrlO><CtrlU>
  1087. Set right margin           <CtrlO><CtrlR>
  1088. Reformat paragraph         <CtrlB>
  1089. Toggle word wrap           <CtrlO><CtrlW>
  1090.  
  1091.  
  1092. EDWIN provides a few commands for text processing functions.
  1093.  
  1094. We often find it useful to be able to change the case of text
  1095. while beautifying programs or documentation. Thus there are
  1096. three commands for case changing in EDWIN. These commands
  1097. operate over the complete region of a marked block of text, if
  1098. any block is marked and visible, and if the cursor is currently
  1099. within the block. If no block is so indicated, the case changing
  1100. commands operate on the single character at the current cursor
  1101. position. Note that the Toggle case command is the safest to
  1102. use, since its actions can be undone by simply repeating the
  1103. command.
  1104.  
  1105. EDWIN supports three related commands for text formatting. When
  1106. the Word Wrap mode is active, EDWIN will automatically reformat
  1107. text so that it fits neatly within a right margin. The right
  1108. margin value can be set to any value from 10 columns up to 999
  1109. columns. When text is being entered, and the current character
  1110. exceeds the right margin, EDWIN will wrap any text exceeding
  1111. the right margin onto the next line. If autoindent mode is
  1112. active, the new line will be indented identically to its
  1113. predecessor.
  1114.  
  1115. The Reformat paragraph command applies the same operation to a
  1116. complete paragraph. For EDWIN's purposes, a paragraph is any
  1117. sequence of text terminated with a blank line. EDWIN will fill
  1118. and wrap text to fill the current right margin starting from the
  1119. current line and continuing until it encounters a blank line.
  1120.  
  1121.  
  1122.  
  1123. 14. Final Notes and Cautions
  1124. ================================================================
  1125.  
  1126. As mentioned previously, EDWIN operates with all available
  1127. system memory. If you attempt to read a file that exceeds memory
  1128. capacity, EDWIN will read in as much as fits and present an
  1129. error message stating that the entire file won't make it.
  1130. Continuing from this point is very dangerous. If you save the
  1131. file, you will overwrite the complete file with a partial
  1132. version, and lose the remainder.
  1133.  
  1134. If EDWIN's "Expand tabs on read" installation option is active,
  1135. you should note that any tabs in the file will be lost when the
  1136. file is rewritten to disk.
  1137.  
  1138. EDWIN incorporates a DOS critical error handler. This serves to
  1139. keep DOS' annoying "Abort, Retry, Ignore" from overwriting the
  1140. editor screen. Instead EDWIN's own error message will appear
  1141. whenever you attempt to write to a drive that isn't ready, or to
  1142. print to an unselected printer. In the case of the unselected
  1143. printer, there may be a substantial delay before the error
  1144. message appears. Have no fear, this is the printer timeout
  1145. period normally allowed for long printer operations like form
  1146. feeds.
  1147.  
  1148. If the EDWIN.ERR file is not available when EDWIN starts up,
  1149. error messages will appear as numbers rather than text. Refer to
  1150. the EDWIN.ERR file for the correspondence between the numbers
  1151. and text. If you don't like the text for a particular message,
  1152. edit the EDWIN.ERR file to change it to something more
  1153. desirable. Be sure to follow the format of the existing file if
  1154. you do so.
  1155.  
  1156. Similarly, you can edit the EDWIN.MSG file to change various
  1157. command prompts of the editor. Unlike the ERR file, the MSG file
  1158. must be found at startup, or the editor will not continue.
  1159.